package com.settlement.system.model.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.settlement.system.common.base.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 标准账单汇总
 * </p>
 *
 * @author huangrensen
 * @since 2023-08-05
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class SysBillSummary extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 统一账单汇总ID
     */
    private String sysBillId;

    /**
     * 对账系统平台编码
     */
    private String channelCode;

    /**
     * 对账系统平台名称
     */
    private String channel;

    /**
     * 店铺编码
     */
    private String shopCode;

    /**
     * 店铺名称
     */
    private String shopName;

    /**
     * 日期
     */
    private String billDate;

    /**
     * 记账项目
     */
    private String billProject;

    /**
     * 账单金额
     */
    private BigDecimal billAmount = BigDecimal.ZERO;

    /**
     * 不含税金额
     */
    private BigDecimal unTaxAmount = BigDecimal.ZERO;

    /**
     * 税额
     */
    private BigDecimal taxAmount = BigDecimal.ZERO;

    /**
     * 入账主体
     */
    private String receiveCompany;

    /**
     * 是否分摊
     */
    private String apportionment;

    /**
     * 票前票后
     */
    private String invoice;

    /**
     * 凭证类型编码
     */
    private String lastCode;

    /**
     * 凭证类型名称
     */
    private String lastName;

    /**
     * 对方末级科目编码
     */
    private String otherLastCode;

    /**
     * 稽核标识
     */
    private String audit;

    /**
     * 是否参与记账
     */
    private String accounting;

    /**
     * 供应商名称
     */
    private String carrier;

    @TableField(exist = false)
    private String tableName;

    // 辅助项汇总
    private String accessoryText;

    // 辅助项
    private String accessory;

    // 店铺ID
    private Long storeId;
}